Репозиторії та робота з базами даних (@Repository, JPA, Hibernate)
У Spring Boot репозиторії використовуються для взаємодії з базами даних. Найчастіше застосовується Spring Data JPA, яка спрощує роботу з ORM (Object-Relational Mapping) завдяки Hibernate.
1. Анотація @Repository
Анотація @Repository позначає клас, який працює з базою даних. Spring автоматично реєструє такі компоненти.
@Repository
public interface UserRepository extends JpaRepository {
List findByName(String name);
}
2. Використання JPA
JPA (Java Persistence API) дозволяє працювати з сутностями бази даних через об'єктно-реляційне відображення (ORM).
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
}
3. Конфігурація бази даних
Приклад конфігурації для MySQL у application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=pass
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
4. Використання у сервісному шарі
Репозиторій можна використовувати у сервісі для отримання та збереження даних:
@Service
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public List getAllUsers() {
return userRepository.findAll();
}
}
Назад Далі